Digital system for estimating signal non-energy parameters using a digital Phase Locked Loop

ABSTRACT

A digital system of measuring parameters of the signal (phase, frequency and frequency derivative) received in additive mixture with Gaussian noise. The system is based on the use of variables of a PLL for calculating preliminary estimates of parameters and calculating the corrections for these estimates when there is a spurt frequency caused by a receiver motion with a jerk. A jerk is determined if the low pass filtered signal of the discriminator exceeds a certain threshold. The jerk-correction decreases the dynamic errors. Another embodiment includes a tracking filter for obtaining preliminary estimates of parameters to reduce the fluctuation errors. Estimates are taken from the tracking filter when there is no jerk and from the block of jerk-corrections when there is a jerk.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation in part of U.S. patent application Ser. No. 14/654,905, filed on Jun. 23, 2015, which is a US National Phase of PCT/RU2015/000043, filed on Jan. 26, 2015, both incorporated herein in their entirety.

BACKGROUND OF THE INVENTION

Phase, frequency and frequency derivative are parameters independent of energy of the input signal (i.e., non-energy parameters). There are known methods of estimating signal non-energy parameters based on processing of variables received from a phase-lock loop (PLL).

U.S. Pat. No. 7,869,554, entitled “Phase/frequency estimator-based phase locked loop”, discloses an apparatus and methods describing use of a PLL and provides a phase estimation of the input signal from which signal frequency is estimated by a derivative function and low pass filtering.

U.S. Pat. No. 3,895,294, entitled “Phase change measuring circuit”, discloses a device for measuring the phase change of an input signal over a specified period comprising a phase-locked tracking filter including a high frequency voltage-controlled oscillator (VCO), a frequency divider to give local oscillator signal at the same frequency as the input signal and a counter counting cycles of the VCO whose phase change in any period is N times the input phase change to allow 1/N period resolution, N being an arbitrary integer. The phase change measuring circuit thus allows phase measurement with a resolution within a small fraction of one cycle.

U.S. Pat. No. 7,222,035, entitled “Method and apparatus for determining changing signal frequency”, discloses a method and apparatus which include a PLL having a numerically controlled oscillator (NCO) and a filter of frequency estimates (FFE). The PLL tracks the changing signal frequency and outputs non-smoothed frequency estimates into the FFE. The FFE then smoothes noise in the signal to produce a more accurate smoothed frequency estimate of the input signal.

US Patent Publication No. 20140072084, entitled “Digital system and method of estimating quasi-harmonic signal non-energy parameters using a digital Phase Locked Loop”, discloses a digital system and method of measuring (estimating) non-energy parameters of the signal (phase, frequency and frequency rate) received in additive mixture with Gaussian noise. The first embodiment of the measuring system consists of a PLL system tracking variable signal frequency, a block of NCO full phase computation (OFPC), a block of signal phase preliminary estimation (SPPE) and a first type adaptive filter filtering the signal from the output of SPPE. The second embodiment of the invention has no block SPPE, and NCO full phase is fed to the input of a second type adaptive filter.

A DPLL described in U.S. Pat. No. 4,771,250 generates signal phase which is an approximation of the phase of the received signal with a linear estimator. The effect of a complication associated with non-zero transport delays related to the DPLL is then compensated by a predictor. The estimator provides recursive estimates of phase, frequency, and higher order derivatives, while the predictor compensates for transport lag inherent in the loop.

However, the above references, as well as other conventional methods of measuring non-energy signal parameters using a PLL, are not adaptive to the jerking motion (when, for example, the acceleration varies linearly in time) of the receiver, or adapt to it by expanding the bandwidths of PLL or using smoothing filters. It is not possible to completely eliminate the dynamic measurement errors using conventional methods.

Unlike the methods above, the present invention enables to obtain accurate phase estimates of the input signal and its derivatives by correcting the preliminary estimates at sites with jerking motion and by an additional filtering of phase estimates at sites without such jerking motion.

The present invention can be used in receivers of various navigation systems, such as GPS, GLONASS and GALILEO, which provide precise measurements of signal phase at different rates of frequency change, as well as systems using digital PLLs for speed measurements.

SUMMARY OF THE INVENTION

Accordingly, the present invention is related to a system of estimating quasi-harmonic signal non-energy parameters using a digital Phase Locked Loop that substantially obviates one or more of the disadvantages of the related art.

In one embodiment, a system for estimating parameters of an input signal includes (a) a digital phase locked loop (PLL) that tracks the input signal and includes:

i) a phase discriminator (PD) that determines a phase difference between the input signal and reference signals;

ii) a loop filter (LF) with a control period T_(c) operating based on:

$\left. \begin{matrix} {{\phi_{i}^{LF} = {\alpha^{LF} \cdot z_{i}^{d}}},} \\ {{s_{i}^{\gamma} = {s_{i - 1}^{\gamma} + {\gamma^{LF} \cdot z_{i}^{d}}}},} \\ {{s_{i}^{\beta} = {s_{i - 1}^{\beta} + S_{i}^{\gamma} + {\beta^{LF} \cdot z_{i}^{d}}}},} \\ {{\phi_{i}^{r} = {{round}\mspace{14mu} \left( {\phi^{LF}/\Delta_{\phi}^{NCO}} \right)}},} \\ {{f_{i}^{r} = {{round}\mspace{14mu} \left( {{s_{i}^{\beta}/\Delta_{\omega}^{NCO}}/T_{c}} \right)}},} \end{matrix} \right\},$

-   -   where α^(LF), β^(LF), γ^(LF) are constants,     -   z_(i) ^(d) is a PD output;     -   φ_(i) ^(r) is a phase code for a Numerically Controlled         Oscillator (NCO),     -   f_(i) ^(r) is a frequency code for the NCO,     -   Δ_(φ) ^(NCO) is a phase step size in the NCO,     -   Δ_(ω) ^(NCO) is a frequency step size in the NCO, and     -   round (.) is an operation of numerical rounding;

iii) the NCO having frequency and phase control using φ_(i) ^(r) and f_(i) ^(r), wherein an output of the NCO is connected to a reference input of the PD;

(b) a calculation of full phase (CFP) block that inputs φ_(i) ^(r) and f_(i) ^(r) that operates based on φ_(i) ^(NCO)=φ_(i-1) ^(NCO)+φ_(i) ^(r)·Δ_(φ) ^(NCO)+f_(i-1) ^(r)·Δ_(ω) ^(NCO)·T_(c); (c) a low-pass filter (LPF) inputting z_(i) ^(d);

-   -   a preliminary estimation of signal parameters (PESP) block that         inputs φ_(i) ^(NCO), f_(i) ^(r) and s_(i) ^(γ), and outputs a         preliminary estimate for a signal phase {circumflex over         (φ)}_(i) ^(c,E) and a preliminary estimate for a signal         frequency {circumflex over (ω)}_(i) ^(c,E) based on:

{circumflex over (φ)}_(i) ^(c,E)=φ_(i) ^(NCO) +s _(i) ^(γ)/12,

{circumflex over (ω)}_(i) ^(c,E)=2π·f _(i) ^(r) −s _(i) ^(γ)/(2·T _(c));

(d) a jerk-corrections of preliminary estimates (JCPE) block inputting z_(i) ^(A), wherein the JCPE block outputs an estimate for a signal phase {circumflex over (φ)}_(i) ^(c) and an estimate for a signal frequency {circumflex over (ω)}_(i) ^(c) based on:

${{\left. {{{\left. \begin{matrix} {{\hat{\phi}}_{i}^{c} = {{\hat{\phi}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\phi}}}} \\ {{\hat{\omega}}_{i}^{c} = {{\hat{\omega}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\omega}}}} \end{matrix} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}z_{i}^{A}} > T_{A}},\begin{matrix} {{{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,E}},} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,E}} \end{matrix}} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}z_{i}^{A}} \leq T_{A}},{C_{\phi} = {1 - {\alpha^{LF}/2} + {\beta^{LF}/12} + {\gamma^{LF}/24}}},{C_{\omega} = {\left( {\alpha^{LF} - {\beta^{LF}/2} - {\gamma^{LF}/6}} \right)/T_{c}}},{and}$ T_(A)  is  a  threshold.

Additional features and advantages of the invention will be set forth in the description that follows, and in part will be apparent from the description, or may be learned by practice of the invention. The advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE ATTACHED FIGURES

The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.

In the drawings:

FIG. 1 is a block diagram for a first embodiment of the invention.

FIG. 2 is an example of an arctangent-type phase discriminator (PD).

FIG. 3 is a block diagram for a second embodiment of the invention.

FIG. 4 illustrates a jerk as a function of time.

FIG. 5 shows an exemplary implementation of the full phase calculation block.

FIG. 6 shows an exemplary implementation of the low pass filter.

FIG. 7 shows an exemplary implementation of the PESP block.

FIG. 8 shows an exemplary implementation of the block for jerk-corrections of preliminary estimates (JCPE).

FIG. 9 shows an exemplary implementation of the block for tracking of filter phase.

FIG. 10 shows an exemplary implementation of the GPS receiver where the components described herein can be used.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

In embodiments of the present invention, adaptation to the nature of the movement of the receiver (see exemplary receiver in FIG. 10) is made not by changing the parameters of PLL, but by changing the algorithm for estimating the signal parameters. For this purpose, corrections that compensate for the dynamic measurement errors during jerking motion are produced.

FIG. 1 shows a block-diagram of the first embodiment of the invention. The measuring system shown in this figure is based on the use of variables of a PLL for calculating preliminary estimates of non-energy signal parameters (i.e., phase, frequency and frequency derivative (frequency drift)) and calculating the corrections when there is a spurt frequency caused by a receiver's jerking motion. The measuring system comprises a digital PLL (101) that has the following main components: a phase discriminator (PD) (102), loop filter (LF) (103), and numerically-controlled oscillator (NCO) (103) with frequency and phase control. Samples U_(n) ^(mix) of an analog process U^(mix)(t) at a sampling frequency f_(s) are fed to the discriminator input. An analog process U^(mix)(t)=U^(c)(t)+U^(n)(t) representing an additive mixture of quasi-harmonic signal U^(c)(t) and Gaussian noise U^(n)(t). Desired signal U^(c)(t) is equal to U^(c)(t)=A^(c)·cos [φ^(c)(t)],

where A^(c) is the amplitude of the signal,

-   -   φ^(c)(t)=∫ω^(c)(t)·dt+φ₀ is the signal phase [in radians],     -   ω^(f)(t) is the signal frequency [in radian/s],     -   φ₀ is the initial signal phase [in radian].

Signal phase φ^(c)(t), signal frequency ω^(c)(t) and frequency derivative {dot over (ω)}^(c)(t) should be estimated (measured).

A loop filter (LF) operates with a control period T_(c) on the basis of recurrence equations:

$\left. \begin{matrix} {{\phi_{i}^{LF} = {\alpha^{LF} \cdot z_{i}^{d}}},} \\ {{s_{i}^{\gamma} = {s_{i - 1}^{\gamma} + {\gamma^{LF} \cdot z_{i}^{d}}}},} \\ {{s_{i}^{\beta} = {s_{i - 1}^{\beta} + s_{i}^{\gamma} + {\beta^{LF} \cdot z_{i}^{d}}}},} \\ {{\phi_{i}^{r} = {{round}\mspace{14mu} \left( {\phi^{LF}/\Delta_{\phi}^{NCO}} \right)}},} \\ {{f_{i}^{r} = {{round}\mspace{14mu} \left( {{s_{i}^{\beta}/\Delta_{\omega}^{NCO}}/T_{c}} \right)}},} \end{matrix} \right\},$

-   -   where α^(LF), β^(LF), γ^(LF) are constant transfer coefficients,     -   z_(i) ^(d) is the PD output;     -   φ_(i) ^(r) is the phase code for NCO,     -   f_(i) ^(r) is the frequency code for NCO,     -   Δ_(φ) ^(NCO) is the phase step size (radian) in the NCO,     -   Δ_(ω) ^(NCO) is the frequency step size (radian/s) in the NCO,     -   round ( ) is the operation of a numerical rounding.

A numerically controlled oscillator (NCO) (104) has frequency and phase control. The phase input of the NCO is connected to the phase output φ_(i) ^(r) of the loop filter (LF) and the frequency input of the NCO is connected to the frequency output f_(i) ^(r) of the LF (103); wherein a complex output of a NCO connected to a reference input of a PD (102).

FIG. 2 shows an example of PD. Input samples U_(n) ^(mix) are multiplied by quadrature samples (I_(n) ^(ref), Q_(n) ^(ref)) from the NCO,

$\left. \begin{matrix} {I_{n}^{ref} = {{A^{NCO} \cdot \cos}\; \left( \phi_{n}^{w,{NCO}} \right)}} \\ {Q_{n}^{ref} = {{A^{NCO} \cdot \sin}\; \left( \phi_{n}^{w,{NCO}} \right)}} \end{matrix} \right\},$

where A^(NCO) is the sample amplitude, and φ_(n) ^(w,NCO) is the wrapped phase (i.e., 0≦φ_(n) ^(w,NCO)<+2π) of NCO in radians. Multiplication results

$\left. \begin{matrix} {I_{n}^{mr} = {U_{n}^{mix} \cdot I_{n}^{ref}}} \\ {Q_{n}^{mr} = {U_{n}^{mix} \cdot Q_{n}^{ref}}} \end{matrix} \right\}\quad$

are fed to the input of low-pass filters, which are typically the reset accumulators Σ↓ with frequency F_(c)<<f_(s). The reset frequency of the accumulators F_(c) is the control frequency in the PLL, for example, F_(c)=50 Hz . . . 1000 Hz; f_(s)=10 MHz . . . 100 MHz. The outputs of the reset accumulators are

$I_{i} = {{\sum\limits_{m = 1}^{m = N_{s}}\; {I_{m + {{({i - 1})} \cdot N_{s}}}^{mr}\mspace{14mu} {and}\mspace{14mu} Q_{i}}} = {\sum\limits_{m = 1}^{m = N_{s}}\; Q_{m + {{({i - 1})} \cdot {N_{s}.}}}^{mr}}}$

The output of a phase discriminator is

z _(i) ^(d)=arctan(Q _(i) /I _(i)) [in radians].

Further, the signal z_(i) ^(d) from the PD output is inputted to the loop filter (LF) (FIG. 2), which operates with a control period T_(c)=N_(s)/f_(s) on the basis of recurrence equation:

$\left. \begin{matrix} {{\phi_{i}^{LF} = {\alpha^{LF} \cdot z_{i}^{d}}},} \\ {{s_{i}^{\gamma} = {s_{i - 1}^{\gamma} + {\gamma^{LF} \cdot z_{i}^{d}}}},} \\ {{s_{i}^{\beta} = {s_{i - 1}^{\beta} + s_{i}^{\gamma} + {\beta^{LF} \cdot z_{i}^{d}}}},} \\ {{\phi_{i}^{r} = {{round}\mspace{14mu} \left( {\phi^{LF}/\Delta_{\phi}^{NCO}} \right)}},} \\ {{f_{i}^{r} = {{round}\mspace{14mu} \left( {{s_{i}^{\beta}/\Delta_{\omega}^{NCO}}/T_{c}} \right)}},} \end{matrix} \right\},$

-   -   where α^(LF), β^(LF), γ^(LF) are constant transfer coefficients,     -   z_(i) ^(d) is the PD output;     -   φ_(i) ^(r) is the phase code for the NCO,     -   f_(i) ^(r) is the frequency code for the NCO,     -   Δ_(φ) ^(NCO) is the phase step size (radian) in the NCO,     -   Δ_(ω) ^(NCO) is the frequency step size (radian/s) in the NCO,         and     -   round (.) is the operation of a numerical rounding.

Digital phase samples φ_(i) ^(r) are fed to the NCO phase control input and abruptly change its phase by the corresponding value Δφ_(i) ^(NCO)=φ_(i) ^(r)·Δ_(φ) ^(NCO), where Δ_(φ) ^(NCO) is the phase step size. Samples f_(i) ^(r) (frequency codes) are delivered to the NCO frequency input and determine its frequency ω_(i) ^(ref)=f_(i) ^(r)·Δ_(ω) ^(NCO), where Δ_(ω) ^(NCO) is the frequency step size [radian/s] in the NCO.

The measuring system (see FIG. 1) comprises also:

block (105) for calculation of full phase (CFP) of NCO, coupled with the LF outputs, operates on the basis of equation

φ_(i) ^(NCO)=φ_(i-1) ^(NCO)+φ_(i) ^(r)·Δ_(φ) ^(NCO) +f _(i-1) ^(r)·Δ_(ω) ^(NCO) ·T _(c);

block (106)—a low-pass filter (LPF) coupled with an output z_(i) ^(d) of a PD;

block (107)—a block for preliminary estimation of signal parameters (PESP) coupled by its inputs with:

the phase output φ_(i) ^(NCO) of a block for CFP of a NCO,

the frequency output f_(i) ^(r) of the loop filter,

the output s_(i) ^(γ) of the loop filter;

where a block for PESP operates on the basis of equations:

{circumflex over (φ)}_(i) ^(c,E)=φ_(i) ^(NCO) +s _(i) ^(γ)/12,

{circumflex over (ω)}_(i) ^(c,E)=2π·f _(i) ^(r) −s _(i) ^(γ)/(2·T _(c)),

{circumflex over ({dot over (ω)})}_(i) ^(c,E) =s _(i) ^(γ) /T _(c) ²;

where

-   -   {circumflex over (φ)}_(i) ^(c,E) is the preliminary estimate for         a signal phase [in radians],     -   {circumflex over (ω)}_(i) ^(c,E) is the preliminary estimate for         a signal frequency [radian/s],     -   {circumflex over ({dot over (ω)})}_(i) ^(c,E) is the preliminary         estimate for a signal frequency derivative [radian/s²];

block (108) is a threshold unit (which, like other blocks, can be implemented in hardware, such as discrete transistors/components, as an ASIC or in software), coupled with an output z_(i) ^(A) of a LPF; where an output J_(i) of a threshold unit is given by the formula:

J _(i)=true, if z _(i) ^(A) >T _(A),

J _(i)=false, if z _(i) ^(A) ≦T _(A),

here T_(A) is a threshold; the threshold value is set equal to (3 . . . 5)·RMS(z_(i) ^(A)).

block (109)—a block for jerk-corrections of preliminary estimates (JCPE) coupled with an output z_(i) ^(A) of a LPF and with an output J_(i) of a threshold unit; where the block JCPE operates on the basis of equations:

${{\left. {{{\left. \begin{matrix} {{{\hat{\phi}}_{i}^{c} = {{\hat{\phi}}_{i}^{c,E} + z_{i}^{A}}}{\cdot C_{\phi}}} \\ {{\hat{\omega}}_{i}^{c} = {{\hat{\omega}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\omega}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {{\hat{\overset{.}{\omega}}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\overset{.}{\omega}}}}} \end{matrix} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = {true}},\begin{matrix} {{{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,E}},} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,E}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {\hat{\overset{.}{\omega}}}_{i}^{c,E}} \end{matrix}} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = \; {false}},$

where

-   -   {circumflex over (φ)}_(i) ^(c) is the estimate for a signal         phase [in radians],     -   {circumflex over (ω)}_(i) ^(c) is the estimate for a signal         frequency [in radian/s],     -   {circumflex over ({dot over (ω)})}_(i) ^(c) is the estimate for         a signal frequency derivative [in radian/s²],

C _(φ)=1−α^(LF)/2+β^(LF)/12+γ^(LF)/24,

C _(ω)=(α^(LF)−β^(LF)/2−γ^(LF)/6)/T _(c),

C _({dot over (ω)})=β^(LF) /T _(c) ².

FIG. 3 shows a block-diagram of the second embodiment of the invention. The measuring system is based on the use of variables of a PLL for calculating preliminary estimates of signal parameters (phase, frequency and frequency derivative) and calculating the corrections when there is a spurt frequency caused by a receiver jerking motion. When a frequency spurt is absent, the parameter estimates are obtained by 3rd order tracking filter, whose input is fed by a preliminary assessment of phase. The measuring system FIG. 3 comprises blocks (301), (302), (303), (304), (305), (306), (307), (308), (309). All of these blocks and their connection are the same as in the first embodiment respectively (101), (102), (103), (104), (105), (106), (107), (108), (109), except that the output of unit (308) does not feed unit (309).

Block (309) for jerk-corrections of preliminary estimates (JCPE) coupled with an output z_(i) ^(A) of a LPF and operates on the basis of equations:

$\left. \begin{matrix} {{{\hat{\phi}}_{i}^{c,J} = {{\hat{\phi}}_{i}^{c,E} + z_{i}^{A}}}{{\cdot C_{\phi}},}} \\ {{\hat{\omega}}_{i}^{c,J} = {{\hat{\omega}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\omega}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c,J} = {{\hat{\overset{.}{\omega}}}_{i}^{c,E} + {z_{i}^{A} \cdot C_{\overset{.}{\omega}}}}} \end{matrix} \right\},$

where {circumflex over (φ)}_(i) ^(c,J), {circumflex over (ω)}_(i) ^(c,J), {circumflex over ({dot over (ω)})}_(i) ^(c,J) are, respectively, estimates with jerk-corrections for a phase [in radians], frequency [in radian/s] and frequency derivative [radian/s²] of a signal.

Block (309) for jerk-corrections of preliminary estimates (JCPE) reduces dynamic error of estimates due to frequency spurts, but it increases fluctuation errors of estimates. The measuring system, see FIG. 3, comprises a 3rd order tracking filter of phase (TFP) (310) to reduce the fluctuation errors in the absence of frequency spurt; wherein a TFP bandwidth is less than a PLL bandwidth. Block TFP (310) coupled with the outputs {circumflex over (φ)}_(i) ^(c,E) of the PESP, operates on the basis of recurrence equations:

$\left. {\left. \begin{matrix} {{\overset{\_}{\phi}}_{i}^{c,T} = {{\hat{\phi}}_{i - 1}^{c,T} + {{\hat{\omega}}_{i - 1}^{c,T} \cdot T_{c}} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot {T_{c}^{2}/2}}}} \\ {{\overset{\_}{\omega}}_{i}^{c,T} = {{\hat{\omega}}_{i - 1}^{c,T} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot T_{c}}}} \\ {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} = {\hat{\overset{.}{\omega}}}_{i - 1}^{c,T}} \end{matrix} \right\} {{z_{i}^{T} = {\phi_{i}^{NCO} - {\overset{\_}{\phi}}_{i}^{c,T}}},\begin{matrix} {{\hat{\phi}}_{i}^{c,T} = {{\overset{\_}{\phi}}_{i}^{c,T} + {\alpha^{T} \cdot z_{i}^{T}}}} \\ {{\hat{\omega}}_{i}^{c,T} = {{\overset{\_}{\omega}}_{i}^{c,T} + {\beta^{T} \cdot {z_{i}^{T}/T_{c}}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c,T} = {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} + {\gamma^{T} \cdot {z_{i}^{T}/T_{c}^{2}}}}} \end{matrix}}} \right\},$

where α^(T), β^(T), γ^(T) are constant transfer coefficients of the TFP.

Block (311) decides on which group of estimates for signal parameters should be taken; this block takes the estimates from the TFP block when there is no jerk, otherwise, it takes the estimates from the JCPE (when there is jerk), i.e.

${{\left. {{{\left. \begin{matrix} {{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,T}} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,T}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {\hat{\overset{.}{\omega}}}_{i}^{c,T}} \end{matrix} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = \; {false}},\begin{matrix} {{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,J}} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,J}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {\hat{\overset{.}{\omega}}}_{i}^{c,J}} \end{matrix}} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = \; {true}};$

where

-   -   {circumflex over (φ)}_(i) ^(c) is the estimate for a signal         phase [in radians],     -   {circumflex over (ω)}_(i) ^(c) is the estimate for a signal         frequency [in radian/s],     -   {circumflex over ({dot over (ω)})}_(i) ^(c) is the estimate for         a signal frequency derivative [in radian/s²].

FIG. 4 shows an example of motion with jerks. This jerking motion consists of: 0<t≦t₁ and t>t₄ are states without movement, t₁<t≦t₂ and t₃<t≦t₄ are states with jerks, when the acceleration varies linearly, t₂<t≦t₃ is the state with a constant acceleration.

FIG. 5 shows an exemplary implementation of the full phase calculation block 105. FIG. 6 shows an exemplary implementation of the low pass filter 106. FIG. 7 shows an exemplary implementation of the PESP block 107. FIG. 8 shows an exemplary implementation of the block for jerk-corrections of preliminary estimates (JCPE) 309. FIG. 9 shows an exemplary implementation of the block for tracking of filter phase 310. FIG. 10 shows an exemplary implementation of the GNSS receiver, showing the components that are relevant to the invention discussed herein, i.e., the components relevant to estimation of non-energy parameters. These are then converted, using OLS (ordinary least squares) into parameters of movement of the receiver, i.e., velocity and acceleration in X, Y, Z coordinates.

As will be appreciated by one of ordinary skill in the art, the various blocks shown in FIGS. 1-10 can be implemented as discrete hardware components, as an ASIC (or multiple ASICs) and/or as software running on a processor.

Having thus described a preferred embodiment, it should be apparent to those skilled in the art that certain advantages of the described apparatus have been achieved.

It should also be appreciated that various modifications, adaptations, and alternative embodiments thereof may be made within the scope and spirit of the present invention. The invention is further defined by the following claims. 

What is claimed is:
 1. A system for estimating parameters of an input signal, the system comprising: a) a digital phase locked loop that includes: i) a phase discriminator that determines a phase difference z_(i) ^(d) between the input signal and reference signals from a Numerically Controlled Oscillator (NCO); and ii) a loop filter with a control period T_(c) that generates a phase control signal φ_(i) ^(r) for the NCO and a frequency control signal f_(i) ^(r) for the NCO; and b) a block for calculation of full phase φ_(i) ^(NCO) according to φ_(i) ^(NCO)=φ_(i-1) ^(NCO)+φ_(i) ^(r)·Δ_(φ) ^(NCO) +f _(i-1)·Δ_(ω) ^(NCO) ·T _(c), where Δ_(φ) ^(NCO) is a phase step size in the NCO, and Δ_(ω) ^(NCO) is a frequency step size in the NCO; c) a low-pass filter inputting the phase difference z_(i) ^(d) and outputting z_(i) ^(A); d) a block that uses φ_(i) ^(NCO) for generation of: a preliminary estimate {circumflex over (φ)}_(i) ^(c,E) for a phase of the input signal, and a preliminary estimate {circumflex over (ω)}_(i) ^(c,E) for a frequency of the input signal; e) a threshold unit outputting a true/false value J_(i) based on z_(i) ^(A); and f) a block for jerk-corrections of the preliminary estimates that generates an estimate {circumflex over (φ)}_(i) ^(c) for a phase of the input signal, and an estimate {circumflex over (ω)}_(i) ^(c) for the frequency of the input signal, based on J_(i), z_(i) ^(A), {circumflex over (φ)}_(i) ^(c,E) and {circumflex over (ω)}_(i) ^(c,E).
 2. The system of claim 1, wherein the loop filter operates based on: $\left. \begin{matrix} {{s_{i}^{\gamma} = {s_{i - 1}^{\gamma} + {\gamma \cdot z_{i}^{d}}}},} \\ {{s_{i}^{\beta} = {s_{i - 1}^{\beta} + s_{i}^{\gamma} + {\beta \cdot z_{i}^{d}}}},} \\ {{\phi_{i}^{r} = {{round}\mspace{14mu} \left( {\alpha \cdot {z_{i}^{d}/\Delta_{\phi}^{NCO}}} \right)}},} \\ {{f_{i}^{r} = {{round}\mspace{14mu} \left( {{s_{i}^{\beta}/\Delta_{\omega}^{NCO}}/T_{c}} \right)}},} \end{matrix} \right\},$ where α, β, δ are constants, s_(i) ^(β) corresponds to the frequency of the input signal, s_(i) ^(γ) corresponds to a rate of change of the frequency of the input signal, and round (.) is numerical rounding.
 3. The system of claim 2, wherein the block in (d) that generates the preliminary estimate {circumflex over (φ)}_(i) ^(c,E) and the preliminary estimate {circumflex over (ω)}_(i) ^(c,E) also uses s_(i) ^(γ).
 4. The system of claim 3, wherein the block in (d) that uses φ_(i) ^(NCO) and s_(i) ^(γ) also generates a preliminary estimate {circumflex over ({dot over (ω)})}_(i) ^(c,E) of a derivative of the frequency of the input signal.
 5. The system of claim 4, wherein the block for jerk-corrections also generates an estimate {circumflex over ({dot over (ω)})}_(i) ^(c) for the derivative of the frequency of the input signal based on J_(i), z_(i) ^(A), {circumflex over (φ)}_(i) ^(c,E), {circumflex over (ω)}_(i) ^(c,E) and {circumflex over ({dot over (ω)})}_(i) ^(c,E).
 6. The system of claim 5, wherein the preliminary estimates {circumflex over (φ)}_(i) ^(c,E), {circumflex over (ω)}_(i) ^(c,E), and {circumflex over ({dot over (ω)})}_(i) ^(c,E) are generated according to {circumflex over (φ)}_(i) ^(c,E)=φ_(i) ^(NCO) +s _(i) ^(γ) /K _(φ), {circumflex over (ω)}_(i) ^(c,E)=Δ_(ω) ^(NCO) ·f _(i) ^(r) −s _(i) ^(γ/() K _(ω) ·T _(c)), {circumflex over ({dot over (ω)})}_(i) ^(c,E) =s _(i) ^(γ) /T _(c) ²; where K_(φ) and K_(ω) are constants.
 7. The system of claim 6, wherein the block for jerk-corrections generates the estimates {circumflex over (φ)}_(i) ^(c), {circumflex over (ω)}_(i) ^(c) and {circumflex over ({dot over (ω)})}_(i) ^(c) according to: ${{\left. {{{\left. \begin{matrix} {{{\hat{\phi}}_{i}^{c} = {{\hat{\phi}}_{i}^{c,E} + z_{i}^{A}}}{\cdot \left( {K_{0} - {\alpha/K_{1}} + {\beta/K_{2}} + {\gamma/K_{3}}} \right)}} \\ {{\hat{\omega}}_{i}^{c} = {{\hat{\omega}}_{i}^{c,E} + {z_{i}^{A} \cdot {\left( {\alpha - {\beta/K_{4}} - {\gamma/K_{5}}} \right)/T_{c}}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {{\hat{\overset{.}{\omega}}}_{i}^{c,E} + {z_{i}^{A} \cdot {\beta/T_{c}^{2}}}}} \end{matrix} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = {true}},\begin{matrix} {{{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,E}},} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,E}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {\hat{\overset{.}{\omega}}}_{i}^{c,E}} \end{matrix}} \right\} \mspace{20mu} {if}{\mspace{14mu} \;}J_{i}} = \; {false}},$ where K₀, K₁, K₂, K₃, K₄, and K₅ are constants.
 8. The system of claim 7, further comprising a third order tracking filter (TFP) that operates based on: $\left. {\left. \begin{matrix} {{\overset{\_}{\phi}}_{i}^{c,T} = {{\hat{\phi}}_{i - 1}^{c,T} + {{\hat{\omega}}_{i - 1}^{c,T} \cdot T_{c}} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot {T_{c}^{2}/2}}}} \\ {{\overset{\_}{\omega}}_{i}^{c,T} = {{\hat{\omega}}_{i - 1}^{c,T} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot T_{c}}}} \\ {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} = {\hat{\overset{.}{\omega}}}_{i - 1}^{c,T}} \end{matrix} \right\} {{z_{i}^{T} = {\phi_{i}^{NCO} - {\overset{\_}{\phi}}_{i}^{c,T}}},\begin{matrix} {{\hat{\phi}}_{i}^{c,T} = {{\overset{\_}{\phi}}_{i}^{c,T} + {\alpha^{T} \cdot z_{i}^{T}}}} \\ {{\hat{\omega}}_{i}^{c,T} = {{\overset{\_}{\omega}}_{i}^{c,T} + {\beta^{T} \cdot {z_{i}^{T}/T_{c}}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c,T} = {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} + {\gamma^{T} \cdot {z_{i}^{T}/T_{c}^{2}}}}} \end{matrix}}} \right\},$ where α^(T), β^(T) and γ^(T) are constants; wherein the system outputs the estimates {circumflex over (φ)}_(i) ^(c,T), {circumflex over (ω)}_(i) ^(c,T) and {circumflex over ({dot over (ω)})}_(i) ^(c,T) from the TFP when there is no jerk and otherwise outputs the estimates {circumflex over (φ)}_(i) ^(c,J), {circumflex over (ω)}_(i) ^(c,J) and {circumflex over ({dot over (ω)})}_(i) ^(c,J) from the block for jerk-corrections.
 9. The system of claim 1, wherein the low-pass filter is based on equation z _(i) ^(A) =z _(i-1) ^(A)+α^(LPF)·(z _(i) ^(d) −z _(i-1) ^(A)), where α^(LPF) is a constant transfer coefficient, 0<α^(LPF)<1.
 10. A GNSS receiver, comprising: a) an antenna for receiving signals from multiple GNSS satellites; b) a low noise amplifier for amplifying the received signals; c) an analog to digital converter converting the amplified signals into digital signals; d) a digital phase locked loop that includes: i) a phase discriminator that determines a phase difference z_(i) ^(d) between the digital signals and reference signals from a Numerically Controlled Oscillator (NCO); and ii) a loop filter with a control period T_(c) that generates a phase control signal φ_(i) ^(r) for the NCO and a frequency control signal f_(i) ^(r) for the NCO; and e) a block for calculation of full phase φ_(i) ^(NCO) according to φ_(i) ^(NCO)=φ_(i-1) ^(NCO)+φ_(i) ^(r)·Δ_(φ) ^(NCO) +f _(i-1) ^(r)·Δ_(ω) ^(NCO) ·T _(c), where Δ_(φ) ^(NCO) is a phase step size, and Δ_(ω) ^(NCO) is a frequency step size; f) a low-pass filter inputting the phase difference z_(i) ^(d) and outputting z_(i) ^(A); g) a block that uses φ_(i) ^(NCO) for generation of: a preliminary estimate {circumflex over (φ)}_(i) ^(c,E) for a phase of the digital signals, and a preliminary estimate {circumflex over (ω)}_(i) ^(c,E) for a frequency of the digital signals; h) a threshold unit outputting a true/false value J_(i) based on z_(i) ^(A); and i) a block for jerk-corrections of the preliminary estimates that generates an estimate {circumflex over (φ)}_(i) ^(c) for a phase of the digital signals, and an estimate {circumflex over (ω)}_(i) ^(c) for the frequency of the digital signals, based on J_(i), z_(i) ^(A), {circumflex over (φ)}_(i) ^(c,E) and {circumflex over (ω)}_(i) ^(c,E), j) wherein the receiver generates velocity and acceleration estimates based on {circumflex over (ω)}_(i) ^(c).
 11. The receiver of claim 10, wherein the loop filter operates based on: $\left. \begin{matrix} {{s_{i}^{\gamma} = {s_{i - 1}^{\gamma} + {\gamma \cdot z_{i}^{d}}}},} \\ {{s_{i}^{\beta} = {s_{i - 1}^{\beta} + s_{i}^{\gamma} + {\beta \cdot z_{i}^{d}}}},} \\ {{\phi_{i}^{r} = {{round}\mspace{14mu} \left( {\alpha \cdot {z_{i}^{d}/\Delta_{\phi}^{NCO}}} \right)}},} \\ {{f_{i}^{r} = {{round}\mspace{14mu} \left( {{s_{i}^{\beta}/\Delta_{\omega}^{NCO}}/T_{c}} \right)}},} \end{matrix} \right\},$ where α, β, γ are constants, s_(i) ^(β) corresponds to the frequency of the digital signals, s_(i) ^(γ) corresponds to a rate of change of the frequency of the digital signals, and round (.) is numerical rounding.
 12. The receiver of claim 11, wherein the block in (g) that generates {circumflex over (φ)}_(i) ^(c,E) and {circumflex over (ω)}_(i) ^(c,E) also uses s_(i) ^(γ).
 13. The receiver of claim 12, wherein the block in (d) that uses φ_(i) ^(NCO) and s_(i) ^(γ) also generates a preliminary estimate {circumflex over ({dot over (ω)})}_(i) ^(c,E) of a derivative of the frequency of the digital signals.
 14. The receiver of claim 13, wherein the block for jerk-corrections also generates an estimate {circumflex over ({dot over (ω)})}_(i) ^(c) for a derivative of the frequency of the digital signals based on J_(i), z_(i) ^(A), {circumflex over (φ)}_(i) ^(c,E), {circumflex over (ω)}_(i) ^(c,E) and {circumflex over ({dot over (ω)})}_(i) ^(c,E).
 15. The receiver of claim 14, wherein the preliminary estimates {circumflex over (φ)}_(i) ^(c,E), {circumflex over (ω)}_(i) ^(c,E), and {circumflex over ({dot over (ω)})}_(i) ^(c,E) are generated according to {circumflex over (φ)}_(i) ^(c,E)=φ_(i) ^(NCO) +s _(i) ^(γ) /K _(φ), {circumflex over (ω)}_(i) ^(c,E)=Δ_(ω) ^(NCO) ·f _(i) ^(r) −s _(i) ^(γ/() K _(ω) ·T _(c)), {circumflex over ({dot over (ω)})}_(i) ^(c,E) =s _(i) ^(γ) /T _(c) ²; where K_(φ) and K_(ω) are constants.
 16. The receiver of claim 15, wherein the block for jerk-corrections generates the estimates {circumflex over (φ)}_(i) ^(c), {circumflex over (ω)}_(i) ^(c) and {circumflex over ({dot over (ω)})}_(i) ^(c) according to: ${{\left. {{{\left. \begin{matrix} {{{\hat{\phi}}_{i}^{c} = {{\hat{\phi}}_{i}^{c,E} + z_{i}^{A}}}{\cdot \left( {K_{0} - {\alpha/K_{1}} + {\beta/K_{2}} + {\gamma/K_{3}}} \right)}} \\ {{\hat{\omega}}_{i}^{c} = {{\hat{\omega}}_{i}^{c,E} + {z_{i}^{A} \cdot {\left( {\alpha - {\beta/K_{4}} - {\gamma/K_{5}}} \right)/T_{c}}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {{\hat{\overset{.}{\omega}}}_{i}^{c,E} + {z_{i}^{A} \cdot {\beta/T_{c}^{2}}}}} \end{matrix} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = {true}},\begin{matrix} {{{\hat{\phi}}_{i}^{c} = {\hat{\phi}}_{i}^{c,E}},} \\ {{\hat{\omega}}_{i}^{c} = {\hat{\omega}}_{i}^{c,E}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c} = {\hat{\overset{.}{\omega}}}_{i}^{c,E}} \end{matrix}} \right\} \mspace{14mu} {if}{\mspace{14mu} \;}J_{i}} = \; {false}},$ where K₀, K₁, K₂, K₃, K₄, and K₅ are constants.
 17. The receiver of claim 16, further comprising a third order tracking filter (TFP) that operates based on: $\left. {\left. \begin{matrix} {{\overset{\_}{\phi}}_{i}^{c,T} = {{\hat{\phi}}_{i - 1}^{c,T} + {{\hat{\omega}}_{i - 1}^{c,T} \cdot T_{c}} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot {T_{c}^{2}/2}}}} \\ {{\overset{\_}{\omega}}_{i}^{c,T} = {{\hat{\omega}}_{i - 1}^{c,T} + {{\hat{\overset{.}{\omega}}}_{i - 1}^{c,T} \cdot T_{c}}}} \\ {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} = {\hat{\overset{.}{\omega}}}_{i - 1}^{c,T}} \end{matrix} \right\} {{z_{i}^{T} = {\phi_{i}^{NCO} - {\overset{\_}{\phi}}_{i}^{c,T}}},\begin{matrix} {{\hat{\phi}}_{i}^{c,T} = {{\overset{\_}{\phi}}_{i}^{c,T} + {\alpha^{T} \cdot z_{i}^{T}}}} \\ {{\hat{\omega}}_{i}^{c,T} = {{\overset{\_}{\omega}}_{i}^{c,T} + {\beta^{T} \cdot {z_{i}^{T}/T_{c}}}}} \\ {{\hat{\overset{.}{\omega}}}_{i}^{c,T} = {{\overset{\_}{\overset{.}{\omega}}}_{i}^{c,T} + {\gamma^{T} \cdot {z_{i}^{T}/T_{c}^{2}}}}} \end{matrix}}} \right\},$ where α^(T), β^(T) and γ^(T) are constants; wherein the system outputs the estimates {circumflex over (φ)}_(i) ^(c,T), {circumflex over (ω)}_(i) ^(c,T) and {circumflex over ({dot over (ω)})}_(i) ^(c,T) from the TFP when there is no jerk and otherwise outputs the estimates {circumflex over (φ)}_(i) ^(c,J), {circumflex over (ω)}_(i) ^(c,J) and {circumflex over ({dot over (ω)})}_(i) ^(c,J) from the block for jerk-corrections.
 18. The receiver of claim 10, wherein the low-pass filter is based on equation z _(i) ^(A) =z _(i-1) ^(A)+α^(LPF)·(z _(i) ^(d) −z _(i-1) ^(A)), where α^(LPF) is a constant transfer coefficient, 0<α^(LPF)<1. 